package org.dromara.xyyw.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xyyw.domain.XyywWxUser;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.util.Date;
import java.io.Serial;
import java.io.Serializable;

/**
 * 微信用户视图对象 xyyw_wx_user
 *
 * @author yf
 * @date 2024-05-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XyywWxUser.class)
public class XyywWxUserVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Integer id;

    /**
     * 微信用户OpenID
     */
    @ExcelProperty(value = "微信用户OpenID")
    private String openId;

    /**
     * 用户名称
     */
    @ExcelProperty(value = "用户名称")
    private String userName;

    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户昵称")
    private String nickname;

    /**
     * 用户类型（默认common）
     */
    @ExcelProperty(value = "用户类型")
    private String userType;

    /**
     * 性别（0为男 1为女）
     */
    @ExcelProperty(value = "性别")
    private String sex;

    /**
     * 头像图片
     */
    @ExcelProperty(value = "头像图片")
    private String avatarImage;

    /**
     * 个性签名
     */
    @ExcelProperty(value = "个性签名")
    private String signature;

    /**
     * 邮件地址
     */
    @ExcelProperty(value = "邮件地址")
    private String email;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phoneNumber;

    /**
     * 密码
     */
    @ExcelProperty(value = "密码")
    private String password;

    /**
     * 密码盐
     */
    @ExcelProperty(value = "密码盐")
    private String salt;

    /**
     * 积分
     */
    @ExcelProperty(value = "积分")
    private Integer points;

    /**
     * 用户状态（0为未注册 1为已注册）
     */
    @ExcelProperty(value = "用户状态")
    private String status;

    /**
     * 最后登录时间
     */
    @ExcelProperty(value = "最后登录时间")
    private Date lastLoginTime;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

}
